<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>

    <script>
    
        function fun () {
            console.log('这是 fun方法');
            console.log(this);            
        }

        fun(); // window


        var obj = {
            name: '王宝'
        }

        // 对象想使用某一方法 而又不希望 与该方法产生过多的联系， 
        /*
            语法：func.apply(thisArg, [argsArray])
            // func :指函数
            // thisArg： 指需要使用函数的 对象， 指定为 null 或 undefined 时会自动替换为指向全局对象
            // [argsArray]： 表示函数的参数
        */ 
        // 这种方式相当于 函数式调用  fun.apply(null)
        fun.apply(); // 这种方式调用 this 只想全局对象 window
        fun.apply(obj); // fun函数中 this 的指向就是 obj 了
    

        
        
    
    
    </script>
    
</body>
</html>